@火凤凰
3年前 提问
1个回答

c++强制类型转换

X0_0X
3年前

c++强制类型转换有以下四种常用函数:

  • const_cast:const_cast转换符是用来移除变量的const或volatile限定符,该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。

  • static_cast:功能是把一个表达式转换为某种类型,但没有运行时类型检查来保证转换的安全性。该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。

  • dynamic_cast:是将一个基类对象指针(或引用)转换到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。

  • reinterpret_cast:必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,再把该整数转换成原类型的指针,还可以得到原先的指针值)。